home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / asm / bootparam.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  3KB  |  113 lines

  1. #ifndef _ASM_X86_BOOTPARAM_H
  2. #define _ASM_X86_BOOTPARAM_H
  3.  
  4. #include <linux/types.h>
  5. #include <linux/screen_info.h>
  6. #include <linux/apm_bios.h>
  7. #include <linux/edd.h>
  8. #include <asm/e820.h>
  9. #include <asm/ist.h>
  10. #include <video/edid.h>
  11.  
  12. /* setup data types */
  13. #define SETUP_NONE            0
  14. #define SETUP_E820_EXT            1
  15.  
  16. /* extensible setup data list node */
  17. struct setup_data {
  18.     __u64 next;
  19.     __u32 type;
  20.     __u32 len;
  21.     __u8 data[0];
  22. };
  23.  
  24. struct setup_header {
  25.     __u8    setup_sects;
  26.     __u16    root_flags;
  27.     __u32    syssize;
  28.     __u16    ram_size;
  29. #define RAMDISK_IMAGE_START_MASK    0x07FF
  30. #define RAMDISK_PROMPT_FLAG        0x8000
  31. #define RAMDISK_LOAD_FLAG        0x4000
  32.     __u16    vid_mode;
  33.     __u16    root_dev;
  34.     __u16    boot_flag;
  35.     __u16    jump;
  36.     __u32    header;
  37.     __u16    version;
  38.     __u32    realmode_swtch;
  39.     __u16    start_sys;
  40.     __u16    kernel_version;
  41.     __u8    type_of_loader;
  42.     __u8    loadflags;
  43. #define LOADED_HIGH    (1<<0)
  44. #define QUIET_FLAG    (1<<5)
  45. #define KEEP_SEGMENTS    (1<<6)
  46. #define CAN_USE_HEAP    (1<<7)
  47.     __u16    setup_move_size;
  48.     __u32    code32_start;
  49.     __u32    ramdisk_image;
  50.     __u32    ramdisk_size;
  51.     __u32    bootsect_kludge;
  52.     __u16    heap_end_ptr;
  53.     __u8    ext_loader_ver;
  54.     __u8    ext_loader_type;
  55.     __u32    cmd_line_ptr;
  56.     __u32    initrd_addr_max;
  57.     __u32    kernel_alignment;
  58.     __u8    relocatable_kernel;
  59.     __u8    _pad2[3];
  60.     __u32    cmdline_size;
  61.     __u32    hardware_subarch;
  62.     __u64    hardware_subarch_data;
  63.     __u32    payload_offset;
  64.     __u32    payload_length;
  65.     __u64    setup_data;
  66. } __attribute__((packed));
  67.  
  68. struct sys_desc_table {
  69.     __u16 length;
  70.     __u8  table[14];
  71. };
  72.  
  73. struct efi_info {
  74.     __u32 efi_loader_signature;
  75.     __u32 efi_systab;
  76.     __u32 efi_memdesc_size;
  77.     __u32 efi_memdesc_version;
  78.     __u32 efi_memmap;
  79.     __u32 efi_memmap_size;
  80.     __u32 efi_systab_hi;
  81.     __u32 efi_memmap_hi;
  82. };
  83.  
  84. /* The so-called "zeropage" */
  85. struct boot_params {
  86.     struct screen_info screen_info;            /* 0x000 */
  87.     struct apm_bios_info apm_bios_info;        /* 0x040 */
  88.     __u8  _pad2[12];                /* 0x054 */
  89.     struct ist_info ist_info;            /* 0x060 */
  90.     __u8  _pad3[16];                /* 0x070 */
  91.     __u8  hd0_info[16];    /* obsolete! */        /* 0x080 */
  92.     __u8  hd1_info[16];    /* obsolete! */        /* 0x090 */
  93.     struct sys_desc_table sys_desc_table;        /* 0x0a0 */
  94.     __u8  _pad4[144];                /* 0x0b0 */
  95.     struct edid_info edid_info;            /* 0x140 */
  96.     struct efi_info efi_info;            /* 0x1c0 */
  97.     __u32 alt_mem_k;                /* 0x1e0 */
  98.     __u32 scratch;        /* Scratch field! */    /* 0x1e4 */
  99.     __u8  e820_entries;                /* 0x1e8 */
  100.     __u8  eddbuf_entries;                /* 0x1e9 */
  101.     __u8  edd_mbr_sig_buf_entries;            /* 0x1ea */
  102.     __u8  _pad6[6];                    /* 0x1eb */
  103.     struct setup_header hdr;    /* setup header */    /* 0x1f1 */
  104.     __u8  _pad7[0x290-0x1f1-sizeof(struct setup_header)];
  105.     __u32 edd_mbr_sig_buffer[EDD_MBR_SIG_MAX];    /* 0x290 */
  106.     struct e820entry e820_map[E820MAX];        /* 0x2d0 */
  107.     __u8  _pad8[48];                /* 0xcd0 */
  108.     struct edd_info eddbuf[EDDMAXNR];        /* 0xd00 */
  109.     __u8  _pad9[276];                /* 0xeec */
  110. } __attribute__((packed));
  111.  
  112. #endif /* _ASM_X86_BOOTPARAM_H */
  113.